#pragma once

#include "Solver.h"
#include <queue>

class BFSSolver : public Solver
{
private:
	std::queue<Node *> queue;
	std::vector<Node *> visited;

public:
	BFSSolver(Node *root=NULL);
	void solve(std::string order, std::string id_heuristic="");
	void firstPush();
	void getNode();
	bool checkVisited();
	void createChildren(std::string *order);
	void pushChildren();
	~BFSSolver();
};

